Computing devices, such as mobile phones, smartphones, and tablet computers, have become ubiquitous in today's society. In fact, many individuals use a number of computing devices to perform various tasks during the course of their day. For instance, a person/user may use a laptop for work, a tablet for entertainment, a smartphone for phone calls, etc. Further, given the convergence of capabilities amongst the various computing devices, the user may use any of the computing devices to perform many of their tasks. While the general capabilities of the devices may be converging, any specific capability may be different. For example, each device may have a different amount of memory, different processors capabilities, different types of cameras, etc.
While computing devices have become able to communicate through various communication protocols, there has been no efficient way for these devices to interoperate. In fact, each computing device has traditionally been completely independent. For example, each computing device typically has their own operating system to manage the unique hardware resources available only to that computing device.